Servo motor control system

ABSTRACT

A table containing correspondence between “n” and “m” is set in a control circuit of a servo control system so that the current command data in the m-th (m=1, 2, 3 . . . ) current command register is assigned to the n-th (n=1, 2, 3 . . . ) servo amplifier. When data is specified in this table to satisfy “n=m”, the current command data in the n-th current command register is passed to the n-th servo amplifier. When “m=1” is set for “n=1” and “m=1” is set for “n=2” in this table, the current command data stored in the first current command register is passed to the first and second servo amplifiers.

RELATED APPLICATIONS DATA

This application claims priority under 35 U.S.C. §119 and/or §365 toJapanese Application No. 2008-023906 filed Feb. 4, 2008, the entirecontents of which are incorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a servo motor control system that has,in a controller, a serial bus control circuit having a function ofsending a current command in a plurality of different control modes toservo amplifiers for driving a servo motor.

2. Description of the Related Art

Driving and controlling a large-capacity motor requires a large-capacityinverter unit. However, acquisition of a large-capacity inverter unit isdifficult because of constraints introduced by its components.Accordingly, a plurality of small-capacity inverter units are connectedin parallel to obtain a large capacity required to drive and control alarge-capacity motor.

When a motor control unit supplies a motor driving command to each ofthe plurality of small-capacity inverter units connected to drive themotor, the motor control unit needs to generate as many motor drivingcommands as the inverter units. In this case, a plurality of motordriving command generation units are exclusively used to drive a motor.As a result, when the motor control unit drives another motor inaddition to the above one, a certain number of motor driving commandgeneration units for driving the other motor are further required,thereby limiting the total number of motors that can be driven.

A motor control system that controls a plurality of inverter units usingone motor driving command from a motor control unit and thereby drivesone large-capacity motor is disclosed in, for example, Japanese PatentApplication Laid-Open No. 2005-86918. This motor control system will bedescribed with reference to FIGS. 7A and 7B.

A motor driving command, which is created by a motor control unit 20 andsent through a serial bus 24 from the motor control unit 20, is suppliedthrough a relay unit 21 to a plurality of inverter units 22 a to 22 d inparallel. Each of the plurality of inverter units 22 a to 22 d iscontrolled by the same (common) motor driving command and drives a motor23. As described above, the motor control unit 20 can control theplurality of inverter units 22 a to 22 d using only one motor drivingcommand generation unit. Accordingly, when the motor control unit 20drives one or more other motors in addition to the motor 23 above, it isenough to add one or more motor driving command generation units and theaddition is not so difficult.

The relay unit 21 in FIG. 7A has a receiver circuit 21 a, a settingcircuit 21 b, a computation circuit 21 c, and a plurality of drivercircuits 21 d 1 to 21 dn as shown in detail in FIG. 7B. The plurality ofdriver circuits 21 d 1 to 21 dn correspond to the plurality of inverterunits 22 a to 22 d, respectively. The motor driving command (torquecommand) output as parallel data from the motor control unit 20 isreceived by the receiver circuit 21 a of the relay unit 21 and input tothe computation circuit 21 c. The computation circuit 21 c generates themotor driving command for the plurality of inverter units 22 a to 22 d.The generated motor driving command is simultaneously output as paralleldata from the computation circuit 21 c to the plurality of inverterunits 22 a to 22 d through the plurality of driver circuits 21 d 1 to 21dn.

The motor control system in FIG. 7A has the relay unit 21 (see FIG. 7B)on the serial bus 24 that connects the motor control unit 20 and themotor 23. Therefore, a unit for controlling the motor 23 becomescomplicated, making downsizing difficult. In addition, a command signalfor the motor 23 is received by the relay unit 21 as serial data and,based on the received data, the command signal for the motor 23 iscreated, so response delay is caused.

SUMMARY OF THE INVENTION

An object of the present invention is to provide a servo motor controlsystem that has, in a serial bus control circuit in a numericalcontroller, a function of sending a current command or a torque commandto a plurality of servo amplifiers for driving motors in a plurality ofdifferent control modes.

The present invention relates to a servo motor control system in which acontroller and a plurality of servo amplifiers are connected through aserial bus, a torque command or a current command for each of motors,generated by the controller, is sent to the plurality of servoamplifiers through the serial bus, and the plurality of servo amplifiersdrive the motors based on the received torque command or currentcommand.

This servo motor control system can select, for each servo amplifier, afirst mode, in which an arbitrary current command generated by the abovecontroller is sent through the serial bus to a plurality of servoamplifiers specified so that the plurality of servo amplifiers specifiedcan drive one or more motors based on the same current command received,or a second mode, in which each a plurality of current commandsgenerated by the controller is sent through the serial bus to acorresponding servo amplifier so that the servo amplifier can drive acorresponding motor based on a corresponding current command.

The above structure of the present invention eliminates the need for therelay unit on the serial bus, thereby enabling the downsizing andsimplification of the unit. In addition, command information for aplurality of motors is processed before it passes through the serialbus, so no processing delay is caused.

BRIEF DESCRIPTION OF THE DRAWINGS

The purposes and advantages of the present invention, including thosedescribed above, will be clarified by reference to the attached drawingsin combination with the description of the embodiment presented below.Of these drawings:

FIG. 1 illustrates a servo control system in which a serial bus controlcircuit of a numerical controller is placed in a mode in which data isread repeatedly from a current command register and sent to twoparticular servo amplifiers.

FIG. 2A indicates the correspondence between current command registersand servo amplifiers connected through the serial bus control circuit ina normal control mode.

FIG. 2B indicates the correspondence between the current commandregisters and the servo amplifiers connected through the serial buscontrol circuit placed in a tandem control mode.

FIG. 3 is a block diagram showing an example of the numerical controllerof the servo control system of the present invention.

FIG. 4 is a schematic block diagram showing the serial bus controlcircuit of the numerical controller in FIG. 3, the serial bus controlcircuit being placed in a first control mode (tandem control mode).

FIG. 5 is a schematic block diagram showing the serial bus controlcircuit of the numerical controller in FIG. 3, the serial bus controlcircuit being placed in a second control mode (normal control mode).

FIG. 6 is a flowchart showing an example of the algorithm executed bythe serial bus control circuit of the servo control system of thepresent invention.

FIG. 7A is a block diagram showing an example of the motor controlsystem in the prior art that controls a plurality of inverter units withone motor driving command from the motor control unit and thereby drivesone large-capacity motor.

FIG. 7B is a block diagram showing a relay unit of the motor controlsystem in FIG. 7A.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIG. 1 illustrates a servo control system in which a serial bus controlcircuit 4 in a numerical controller 1 is placed in a mode in which datais read repeatedly from a current command register 3-1 and sent to twoparticular servo amplifiers 5-1 and 5-2.

A digital signal processor (DPS) 2 calculates current command values(torque command values) for servo amplifiers 5-1, 5-2, and 5-3 tocontrol the position, speed, and current of each servo motor using servocontrol software. The calculated current command values are stored incurrent command registers 3-1, 3-2, and 3-3, respectively, in a normalcontrol mode described later. The current command registers 3-1, 3-2,and 3-3 are provided in association with the servo amplifiers 5-1, 5-2,5-3, respectively. The serial bus control circuit 4 reads out thecurrent command values stored in the current command registers 3-1, 3-2,and 3-3, converts the read current command values from parallel signalsto serial signals, and then gives the converted signals to the servoamplifiers 5-1, 5-2, 5-3 through a serial bus 6.

Tandem control by a first motor (not shown) connected to the servoamplifier 5-1 and a second motor (not shown) connected to the servoamplifier 5-2 will be considered below. The tandem control is a methodof using a plurality of motors to drive a large movable member whichwould be difficult to accelerate or decelerate by one motor, through acurrent command generated by a numerical controller. In the tandemcontrol, the same (common) current command value is given to the servoamplifiers 5-1 and 5-2. In a normal control mode in which the samecurrent command value is stored in the current register 3-1 for theservo amplifier 5-1 and the current register 3-2 for the servo amplifier5-2, the DSP 2 needs to calculate the current command value twice,thereby consuming its processing power unnecessarily.

The servo control system of the present invention places the numericalcontroller in a tandem control mode described below instead of thenormal control mode above, thereby carrying out a tandem control. Inthis tandem control mode, the current command value for the servoamplifier 5-2 is not stored (is stored in the normal control mode) inthe current command register 3-2 in FIG. 1. The serial bus controlcircuit 4 repeatedly reads the current command value from the currentcommand register 3-1, and uses it as the current command value for theservo amplifier 5-2, in addition to the current command value for theservo amplifier 5-1. If the number of motors used for the tandem controlis K (K=2, 3 . . . ), the serial bus control circuit 4 reads the currentcommand value from the same current command register K times. The serialbus control circuit 4 gives, through a serial bus 6, the same currentcommand value that it read from the same current command register 3-1 aplurality of times (K=2 in the example of FIG. 1), to a plurality ofservo amplifiers 5-1 and 5-2 that drive motors used for tandem control.

Therefore, if a control mode is placed in the above tandem control modewhen carrying out tandem control by means of the servo control system ofthe present invention, the processing load of the DSP 2 need not beincreased. In addition, this eliminates the use of the relay unit (seeFIGS. 7A and 7B) required in tandem control in the prior art.

FIG. 2A indicates the correspondence between the current commandregisters 3-1 to 3-3 and the servo amplifiers 5-1 to 5-3 connectedthrough the serial bus control circuit 4 in the normal control mode. Inthis control mode, a current command value for the servo amplifier 5-1is stored in the current command register 3-1, a current command valuefor the servo amplifier 5-2 is stored in the current command register3-2, and a current command value for the servo amplifier 5-3 is storedin the current command register 3-3.

FIG. 2B indicates the correspondence between the current commandregisters 3-1 to 3-3 and the servo amplifiers 5-1 to 5-3 connectedthrough the serial bus control circuit 4 in the tandem control mode. Inthis control mode, a current command value for the servo amplifier 5-1is stored in the current command register 3-1, a current command valuefor the servo amplifier 5-2 is also stored in command register 3-1, anda current command value for the current the servo amplifier 5-3 isstored in the current command register 3-3. In the tandem control mode,the current command register 3-2 is not used.

It is possible to switch the control mode of the numerical controller 1between the normal control mode as in FIG. 2A and the tandem controlmode as in FIG. 2B without changing the hardware configuration of thenumerical controller 1.

The number of current command registers and servo amplifiers is assumedto be three in FIGS. 1, 2A, and 2B, but the number is not limited to 3.

FIG. 3 is a block diagram showing an example of the numerical controllerof the servo control system of the present invention. The numericalcontroller 1 comprises a processor (CPU) 10, a DSP 2, a first common RAM3, a serial bus control circuit 4, an SRAM 8, a ROM 9, and a secondcommon RAM 11.

The CPU 10 can access the DSP 2, the serial bus control circuit 4, theSRAM 8, the ROM 9, and the second common RAM 11 through a bus 7. The CPU10 sends data to or receives data from the DPS 2 through the secondcommon RAM 11. When the CPU 10 writes a movement amount to the secondcommon RAM 11 at specified intervals, the DSP 2 reads out the movementamount from the second common RAM 11 and, based on the read movementamount, calculates the current command value for each servo motor.

The current command values calculated by the DSP 2 are written tocurrent command registers in the first common RAM 3. The serial buscontrol circuit 4 reads out the current command values from the currentcommand registers in the first common RAM 3 and gives the read currentcommand values to the servo amplifiers 5 (servo amplifiers 5-1 to 5-3)through the serial bus 6.

In the tandem control mode, the serial bus control circuit 4 reads out,a plurality of times (for example, twice), the current command value inone (for example, the current command register 3-1) of a plurality ofcurrent command registers in the first common RAM 3 by setting aparameter, sends the read value to a plurality of servo amplifiers (forexample, the servo amplifiers 5-1 and 5-2), and drives a plurality ofservo motors based on the same current command value.

In the normal control mode, on the other hand, the serial bus controlcircuit 4 reads out once each of the current command values in theplurality of current command registers 3-1, 3-2, and 3-3 in the firstcommon RAM 3, sends each of them to the corresponding one of the servoamplifier 5-1, 5-2, and 5-3, and drives the corresponding motor based onthe current command value.

FIG. 4 is a schematic block diagram showing the serial bus controlcircuit 4 of the servo control system of the present invention, theserial bus control circuit being placed in the tandem control mode.

The serial bus control circuit 4 has an address table 4 a, a conversiontable 4 b, a selector 4 c, a transmission control circuit 4 d, anup-counter 4 e, a parallel/serial conversion circuit 4 f, and an addresstransmission circuit 4 g. The address table 4 a stores addresses 4 a 1,4 a 2 . . . of the servo amplifiers 5-1, 5-2 . . . . The first commonRAM 3 includes the current command registers 3-1, 3-2 . . . thatcorrespond to the addresses 4 a 1, 4 a 2 . . . of the servo amplifiers5-1, 5-2 . . . set in the address table 4 a.

The conversion table 4 b indicates the correspondence between servoamplifiers 5-1, 5-2 . . . 5-n . . . 5-N and current command registers3-1, 3-2 . . . 3-m . . . 3-N. The conversion table 4 b can be rewrittenby a command from the CPU 10 to change the correspondence between thecurrent command register 3-1, 3-2 . . . and the servo amplifiers 5-1,5-2 . . . . The conversion table 4 b can also be rewritten to switchfrom the tandem control mode in FIG. 4 to the normal control mode inFIG. 5.

The transmission control circuit 4 d increments the output value of theup-counter 4 e by 1. The up-counter 4 e outputs a count value “n” to theconversion table 4 b. The conversion table 4 b outputs “m” correspondingto “n” input from the up-counter 4 e to selector 4 c based on thecorrespondence (n-to-m conversion) shown in the table.

The selector 4 c selects the address 4 am of the m-th servo amplifier(servo amplifier 5-m) from the address table 4 a according to “m”received from the conversion table 4 b and then outputs the selectedaddress 4 am to the first common RAM 3 through the address transmissioncircuit 4 g.

The first common RAM 3 outputs the register data in the current commandregister 3-m that corresponds to the address 4 am of the servo amplifier5-m received from the address transmission circuit 4 g to theparallel/serial conversion circuit 4 f. The register data, which is acurrent command value calculated by the DSP 2, is parallel data.

The parallel/serial conversion circuit 4 f receives current command datafrom the first common RAM 3 and “n” output from the up-counter 4 e. Theoutput value “n” from the up-counter 4 e is used to identify a servoamplifier (the servo amplifier 5-n is identified). The parallel/serialconversion circuit 4 f converts the register data in the current commandregister 3-m from parallel data to serial data. The parallel/serialconversion circuit 4 f also gives a pair of “n” for identifying a servoamplifier and the current command data stored in the current commandregister 3-m to the identified servo amplifier 5-n as serial data (forexample, a packet signal). The servo amplifier 5-n that received thepacket signal recognizes that the current command data stored in thecurrent command register 3-m is a command sent to its own.

The operation of the serial bus conversion circuit 4 in which “m=1, 1,3” is specified for “n=1, 2, 3” in the conversion table 4 b as in FIG. 4will be described below.

Since “m=1” is specified for both “n=1” and “n=2”, the address 4 a 1 ofthe first (m=1) servo amplifier 5-1 is passed to the first common RAM3and the current command value in the current command register 3-1corresponding to the address 4 a 1 is read out and the current commandvalue is passed to the first (n=1) servo amplifier 5-1 and the second(n=2) servo amplifier 5-2 through the parallel/serial conversion circuit4 f Next, the address 4 a 3 of the third (m=3) servo amplifier 5-3 ispassed to the first common RAM 3, the current command value in thecurrent command register 3-3 corresponding to the address 4 a 3 is readout, and the current command value is passed to the third (n=3) servoamplifier 5-3 through parallel/serial conversion circuit 4 f.

FIG. 5 shows a state of the conversion table 4 b of the serial busconversion circuit as shown in FIG. 4, in which the conversion table 4 bhas been rewritten to “m=1, 2, 3 . . . ”, instead of “m=1, 1, 3 . . . ”,with respect to “n=1, 2, 3 . . . ” (that is, n=m), being restored tonormal control mode. In the normal control mode, the address 4 an of then-th (n=1, 2, 3 . . . ) servo amplifier 5-n is passed to the firstcommon RAM 3, the current command value in the current command register3-n corresponding to the address 4 an is read out and the currentcommand value is passed to the n-th servo amplifier 5-n through theparallel/serial conversion circuit 4 f.

FIG. 6 is a flowchart showing an example of the algorithm executed bythe serial bus control circuit 4 of the servo control system of thepresent invention.

The transmission control circuit 4 d resets the up-counter 4 e (stepS100). The up-counter 4 e outputs the value “n” to the conversion table4 b and the parallel/serial conversion circuit 4 f (step S101). First,“n=1” is output. The conversion table 4 b outputs the “m” valuecorresponding to an input “n” value to the selector 4 c according to thecorrespondence between “n” and “m” in the table (step S102). Theselector 4 c extracts the address 4 am of the m-th servo amplifier 5-mfrom the address table 4 a and sends it to the address transmissioncircuit 4 g (step S103).

The address transmission circuit 4 g sends the address 4 am of the servoamplifier 5-m received from the selector 4 c to the first common RAM 3(step S104). The first common RAM 3 sends the register data in thecurrent command register 3-m corresponding to the address 4 am receivedfrom the address transmission circuit 4 g to the parallel/serialconversion circuit 4 f of the serial bus control circuit 4 (step S105).

The parallel/serial conversion circuit 4 f converts the register data inthe current command register 3-m received from the first common RAM 3from parallel data to serial data (step S106) and gives the serial datato the (n-th) servo amplifier 5-n corresponding to “n” output from theup-counter 4 e (step S107).

Whether the value “n” of the up-counter 4 e reaches N (maximum value of“n”) is determined. When it reaches N (YES in step S108), the sequenceis finished. When it does not reach N (NO in step S108), the value “n”of the up-counter 4 e is incremented by 1 (step S109), the sequencereturns to step S101 and the processing is continued.

In the above descriptions, current command values are use as commandvalues for servo amplifiers that drives the motor, but torque commandvalues may also be used.

1. A servo motor control system in which a controller and a plurality ofservo amplifiers are connected through a serial bus, current commandvalues generated by the controller are sent to the plurality of servoamplifiers through the serial bus to drive a servo motor based on thecurrent command values, the controller comprising: a plurality ofcurrent command registers that store the current command values, whichare a plurality of parallel signals, to be given to the servo motor; anda serial bus control circuit that reads the current command values fromthe plurality of current command registers, converts the read data toserial data, and sends the serial data to the plurality of servoamplifiers through the serial bus; wherein the serial bus controlcircuit has a rewritable conversion table that specifies correspondencebetween the plurality of the servo amplifiers and the current commandvalues stored in the plurality of the current command registers andsends the current command values stored in the current command registersto corresponding servo amplifiers through the serial bus according tothe correspondence specified by the conversion table; and wherein, byrewriting the conversion table, a current command value is readrepeatedly from one of the plurality of current command registers andthe read value is sent to two or more corresponding servo amplifiers todrive one or more servo motors using an identical current command value.